home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / MorphOS / Epic4_mos / share / epic / script / hybrid6 < prev    next >
Encoding:
Text File  |  2002-10-28  |  8.4 KB  |  178 lines

  1. ###############################################################################
  2. # hybrid-6 script (c) 2000 Edward Brocklesby
  3. # includes modified code from da5id's newons.irc
  4. #
  5. # usage: (stuff in [] is optional)
  6. #   /kline [time] <nick or user@host> [reason]   (add a tkline, defaults to 60)
  7. #   /pkline <nick or user@host> [reason]         (add a kline)
  8. #   /dline <IP or CIDR mask> [reason]            (add a dline)
  9. #   /gline <user@host> [reason]                  (request a gline)
  10. # (reason in the above commands defaults to 'No reason')
  11. #
  12. #   /unkline <user@host>               (remove a kline or tkline)
  13. #   /operwall                          (send an Operwall)
  14. #   /locops                            (send a locops)
  15. #   /opermsg <server> <message>        (send 'message' to all opers on 'server'
  16. #                      Note: only works if target server is running hybrid-6)
  17. #
  18. # mail bugs/fixes/feature requests to ejb@leguin.org.uk
  19. ###############################################################################
  20.  
  21. alias operwall quote operwall :$*
  22. alias locops quote locops :$*
  23. alias opermsg msg opers@$0 $1-
  24.  
  25. alias dline {
  26.                 {if ([$1-])
  27.                         {quote dline $0 :[$N] $1-}
  28.                         {quote dline $0 :[$N] No reason}}}
  29.  
  30. alias pkline {
  31.                 {if ([$1-])
  32.                         {quote kline $0 :[$N] $1-}
  33.                         {quote kline $0 :[$N] No reason}}}
  34.  
  35. alias kline {
  36.         if (isnumber($0))
  37.                 {if ([$2-])
  38.                         {quote kline $0 $1 :[$N] $2-}
  39.                         {quote kline $0 $1 :[$N] No reason}}
  40.                 {if ([$1-])
  41.                         {quote kline 60 $0 :[$N] $1-}
  42.                         {quote kline 60 $0 :[$N] No reason}}}
  43. alias unkline {
  44.         quote unkline $*}
  45.  
  46. alias gline {
  47.         if ([$1-])
  48.                 {quote gline $0 :$1-}
  49.                 {quote gline $0 :No reason}
  50. }
  51.  
  52. on ^211 * {
  53.         echo $cparse(%K[%w servstats%K]%n $[-40]1%K%K: %wS%K:%W$[4]{[$4]/1024} % wR%K:%n$[4]{[$6]/1024} %wQ%K:%n$2 %wT%K:%n$[12]tdiff2($7) %wI%K:%n$[3]8 %K[%w$9- %K])}
  54.  
  55. on ^249 * {
  56.         echo $cparse(%K[%w servstats%K]%n $1-)}
  57.  
  58. on ^kill "% % % *" echo $cparse(%K[%w  operkill%K]%n $2 killed $1 reason: $4-)
  59. on ^kill "% % %.% *" echo $cparse(%K[%w  servkill%K]%n $2 killed $1)
  60.  
  61. on ^351 "*" echo $fmt.num.ver($*)
  62. on ^oper_notice "* unauthori%ed client connection *" echo $fmt.snot.ucon($*)
  63. on ^oper_notice "* client connecting% *" echo $fmt.snot.con($*)
  64. on ^oper_notice "* client exit% *" echo $fmt.snot.disco($*)
  65. on ^oper_notice "* stats *" echo $fmt.snot.stats($*)
  66. on ^oper_notice "* links *" echo $fmt.snot.links($*)
  67. on ^oper_notice "* % added k-line *" echo $fmt.snot.kline($*)
  68. on ^oper_notice "* % added d-line *" echo $fmt.snot.dline($*)
  69. on ^oper_notice "* %-line active *" echo $fmt.snot.active($*)
  70. on ^server_notice "% % added %line *" echo $fmt.snot.addline($*)
  71. on ^server_notice "* %line for * removed" echo $fmt.snot.remline($*)
  72. on ^oper_notice "* % has removed the K-Line*" echo $fmt.snot.unkline($*)
  73. on ^oper_notice "* % has removed the temporary K-Line*" echo $fmt.snot.untkline($*)
  74. on ^oper_notice "* * is doing a %whois *" echo $fmt.snot.whois($*)
  75. on ^oper_notice "* Nick change: From*" echo $fmt.snot.nick($*)
  76. on ^oper_notice "* * count off by %" echo $fmt.snot.count($*)
  77. on ^oper_notice "* % added temp% *" echo $fmt.snot.tempk($*)
  78. on ^oper_notice "* % is clearing temp *" echo $fmt.snot.rehash($*)
  79. on ^oper_notice "* % is forcing %reading *" echo $fmt.snot.rehash($*)
  80. on ^oper_notice "* % is rehashing server *" echo $fmt.snot.rehash($*)
  81. on ^oper_notice "* got signal sighup% *" echo $fmt.snot.rehash($*)
  82. on ^oper_notice "* % high-traffic *" echo $fmt.snot.htm($*)
  83. on ^oper_notice "* resuming standard *" echo $fmt.snot.htm($*)
  84. on ^oper_notice "* user % % tried to *" echo $fmt.snot.mflood($*)
  85. on ^oper_notice "* MOTD requested *" echo $fmt.snot.motd($*)
  86. on ^oper_notice "* Flooder * on * target: *" echo $fmt.snot.flood($*)
  87. on ^oper_notice "* Possible Drone Flooder*" echo $fmt.snot.dflood($*)
  88. on ^oper_notice "* % % is now operator %" echo $fmt.snot.oper($*)
  89. on ^oper_notice "* Quarantined nick *" echo $fmt.snot.qline($*)
  90. on ^oper_notice "* X-Line Warning *" echo $fmt.snot.xline($*)
  91. on ^oper_notice "* X-Line Rejecting *" echo $fmt.snot.xline($*)
  92. on ^oper_notice "* spoofing:* *as*" echo $fmt.snot.spoof($*)
  93. on ^oper_notice "* POSSIBLE /names abuser *" echo $fmt.snot.names($*)
  94. on ^oper_notice "* New Max Local Clients: *" echo $fmt.snot.maxcli($*)
  95. on ^oper_notice "* server % being introduced by *" echo $fmt.snot.netjoin($*)
  96. on ^oper_notice "*" echo $fmt.snot.onot($*)
  97. on ^server_notice "*" echo $fmt.snot.gen($*)
  98.  
  99. @ opermotd = [NO]
  100.  
  101. on ^server_notice "*Start of OPER MOTD*" @ opermotd = [YES]
  102. on ^server_notice "*End" @ opermotd = [NO]
  103.  
  104. alias fmt.num.ver return $cparse(%K[%w   version%K]%n) ^Bserver^B $2 ^Bversion^B $chop(1 $1) ^Bflags^B $3 $4
  105.  
  106. alias fmt.snot.gen {
  107.          if (opermotd == [YES]) {
  108.                 return $cparse(%K[%w  opermotd%K]%n) $2-
  109.         } else {
  110.                 return $cparse(%K[%w    server%K]%n) $1-
  111.         }
  112. }
  113.  
  114. alias fmt.snot.netjoin return $cparse(%K[%w   netjoin%K]%n) $2 -> $6
  115. alias fmt.snot.maxcli return $cparse(%K[%wmaxclients%K]%n) $1-
  116. alias fmt.snot.names return $cparse(%K[%w     names%K]%n) $1-
  117. alias fmt.snot.spoof return $cparse(%K[%w     spoof%K]%n) $1 [$3] as $5
  118. alias fmt.snot.qline return $cparse(%K[%w    q-line%K]%n) $2-
  119. alias fmt.snot.xline return $cparse(%K[%w    x-line%K]%n) $2-
  120. alias fmt.snot.con return $cparse(%K[%w   connect%K]%n) $3 $4
  121. alias fmt.snot.ucon return $cparse(%K[%w    unauth%K]%n) $5 $6
  122. alias fmt.snot.disco return $cparse(%K[%w      exit%K]%n) $3 $4 $5-
  123. alias fmt.snot.stats return $cparse(%K[%w     stats%K]%n) $2 requested by $5 $6 from $7
  124. alias fmt.snot.links return $cparse(%K[%w     links%K]%n) $2 requested by $5 $6 from $7
  125. alias fmt.snot.kline return $cparse(%K[%w     kline%K]%n) $1 for $chop(1 $rest(1 $5)) reason: $chop(1 $rest(1 $6-))
  126. alias fmt.snot.dline return $cparse(%K[%w     dline%K]%n) $1 for $5 $6-
  127. alias fmt.snot.active return $cparse(%K[%w    active%K]%n) $1-
  128. alias fmt.snot.addline return $cparse(%K[%w     added%K]%n) $2 $3-
  129. alias fmt.snot.remline return $cparse(%K[%w   removed%K]%n) $2 $3 $4
  130. alias fmt.snot.unkline return $cparse(%K[%w   unkline%K]%n) $1 for $chop(1 $rest(1 $7))
  131. alias fmt.snot.untkline return $cparse(%K[%w   unkline%K]%n) $1 for $chop(1 $rest(1 $8))
  132. alias fmt.snot.whois return $cparse(%K[%w     whois%K]%n) $1-
  133. alias fmt.snot.nick return $cparse(%K[%w      nick%K]%n) $[-9]4 to $[9]6 $7
  134. alias fmt.snot.flood return $cparse(%K[%w   flooder%K]%n) $2-
  135. alias fmt.snot.dflood return $cparse(%K[%w   flooder%K]%n) $1-
  136. alias fmt.snot.count return $cparse(%K[%w    client%K]%n) $1-
  137. alias fmt.snot.tempk return $cparse(%K[%w     tempk%K]%n) $1 for $8 lasting $4 mins reason: $chop(1 $rest(1 $9-))
  138. alias fmt.snot.rehash return $cparse(%K[%w    rehash%K]%n) $1-
  139. alias fmt.snot.htm return $cparse(%K[%w       htm%K]%n) $1-
  140. alias fmt.snot.skill return $cparse(%K[%w  servkill%K]%n) $7 killed $3 $10-
  141. alias fmt.snot.okill return $cparse(%K[%w  operkill%K]%n) $4 $5 $6 $7 $10-
  142. alias fmt.snot.mflood return $cparse(%K[%w  msgflood%K]%n) $[-9]2 $3-
  143. alias fmt.snot.motd return $cparse(%K[%w      motd%K]%n) requested by $4 $5 from $6
  144. alias fmt.snot.oper return $cparse(%K[%w      oper%K]%n) $1-
  145. alias fmt.snot.onot return $cparse(%K[%w    server%K]%n) $1-
  146.  
  147. on ^wallop "% *" {
  148.         switch ($2) {
  149.                 (Received) {
  150.                         xecho -level snote $fmt.wallops.squit($*)
  151.                 }
  152.                 (Remote) {
  153.                         xecho -level snote $fmt.wallops.connect($*)
  154.                 }
  155.                 (WALLOPS) {
  156.                         xecho -level snote $fmt.wallops.wallops($*)
  157.                 }
  158.                 (OPERWALL) {
  159.                         xecho -level snote $fmt.wallops.operwall($*)
  160.                 }
  161.                 (LOCOPS) {
  162.                         xecho -level snote $fmt.wallops.locops($*)
  163.                 }
  164.                 (*) {
  165.                         xecho -level snote $fmt.wallops.none($*)
  166.                 }
  167.         }
  168. }
  169.  
  170. alias fmt.wallops.squit return $cparse(%K[%w  servwall%K]%n %r!%R$0%r!%n) $2-
  171. alias fmt.wallops.connect return $cparse(%K[%w  servwall%K]%n %r!%R$0%r!%n) $2-
  172. alias fmt.wallops.wallops return $cparse(%K[%w   wallops%K]%n %r!%R$0%r!%n) $4-
  173. alias fmt.wallops.operwall return $cparse(%K[%w  operwall%K]%n %r!%R$0%r!%n) $4-
  174. alias fmt.wallops.locops return $cparse(%K[%w    locops%K]%n %r!%R$0%r!%n) $4-
  175. alias fmt.wallops.none return $cparse(%K[%w   wallops%K]%n %r!%R$0%r!%n) $2-
  176.  
  177. #ejb'y2k
  178.